package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.system.domain.vo.SysAssetVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SysAssetMapper;
import com.ruoyi.system.domain.SysAsset;
import com.ruoyi.system.service.ISysAssetService;

/**
 * 资产Service业务层处理
 * 
 * @author zlz
 * @date 2025-02-26
 */
@Service
public class SysAssetServiceImpl implements ISysAssetService 
{
    @Autowired
    private SysAssetMapper sysAssetMapper;

    /**
     * 查询资产
     * 
     * @param assetId 资产主键
     * @return 资产
     */
    @Override
    public SysAssetVo selectSysAssetByAssetId(Long assetId)
    {
        return sysAssetMapper.selectSysAssetByAssetId(assetId);
    }

    /**
     * 查询资产列表
     * 
     * @param sysAsset 资产
     * @return 资产
     */
    @Override
    public List<SysAsset> selectSysAssetList(SysAsset sysAsset)
    {
        return sysAssetMapper.selectSysAssetList(sysAsset);
    }

    /**
     * 新增资产
     * 
     * @param sysAsset 资产
     * @return 结果
     */
    @Override
    public int insertSysAsset(SysAsset sysAsset)
    {
        sysAsset.setCreateTime(DateUtils.getNowDate());
        //状态默认在用
        sysAsset.setStatus("在用");
        return sysAssetMapper.insertSysAsset(sysAsset);
    }

    /**
     * 修改资产
     * 
     * @param sysAsset 资产
     * @return 结果
     */
    @Override
    public int updateSysAsset(SysAsset sysAsset)
    {
        return sysAssetMapper.updateSysAsset(sysAsset);
    }

    /**
     * 批量删除资产
     * 
     * @param assetIds 需要删除的资产主键
     * @return 结果
     */
    @Override
    public int deleteSysAssetByAssetIds(Long[] assetIds)
    {
        return sysAssetMapper.deleteSysAssetByAssetIds(assetIds);
    }

    /**
     * 删除资产信息
     * 
     * @param assetId 资产主键
     * @return 结果
     */
    @Override
    public int deleteSysAssetByAssetId(Long assetId)
    {
        return sysAssetMapper.deleteSysAssetByAssetId(assetId);
    }

    /**
     * 根据分类id查询资产数量
     * @param categoryId
     * @return
     */
    @Override
    public int countByCategoryId(Long categoryId) {
        return sysAssetMapper.countByCategoryId(categoryId);
    }
}
